<template>
    <div>
    <h2>物流相关信息</h2>
      <div class="logistics-info-header">
        <div class="logistics-info-header-left">
          <div class="logistics-status blue" :style="{ color: logisticsStatusTextAndColor.color }">{{ logisticsStatusTextAndColor.text }}</div>
          <div class="logistics-company">{{orderInfo.logisticsCompany}}</div>
          <div class="logistics-no">{{orderInfo.logisticsNo}}</div>
        </div>
      </div>
      <ul class="logistics-info-list" v-for="(item,index) in orderInfo.logisticsInfo" :key="index">
        <li>
          <div class="logistics-info-list-time">{{item.time}}</div>
          <div class="logistics-info-list-content">{{item.content}}</div>
        </li>
      </ul>
      <button v-detail="orderInfo.role">查看物流详情</button>
    </div>
</template>
<script>
export default {
  props: ['orderInfo'],
  computed: {
    logisticsStatusTextAndColor() {
      const statusTextColorMap = {
        0: { text: '未发货', color: 'blue' },
        1: { text: '已发货', color: 'green' },
        2: { text: '已签收', color: 'red' },
        3: { text: '未签收', color: 'orange' },
      };

      return statusTextColorMap[this.orderInfo.logisticsStatus] || { text: '状态未知', color: 'grey' };
    }
  },
  directives: {
    detail: {
      inserted(el,binding) {
        console.log(el);
        el.addEventListener('click', function () {
          if (binding.value==='admin'||binding.value==='zhangsan'||binding.value==='lisi') {
            alert('校验通过')
          } else {
            alert('校验不通过')
          }
        })
      }
    }
  }
}
</script>

<style scoped>
  .logistics-info {
    border: 1px solid #ccc;
    border-radius: 5px;
    box-shadow: 0px 0px 10px #eee;
    padding: 10px;
    font-size: 14px;
  }

  .logistics-info-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
  }

  .logistics-info-header-left {
    display: flex;
    align-items: center;
  }

  .logistics-status {
    font-weight: bold;
    font-size: 16px;
    color: #007bff;
  }

  .logistics-company,
  .logistics-no {
    margin-left: 10px;
    font-size: 14px;
    color: #333;
  }

  .logistics-info-list {
    list-style: none;
    padding: 0;
    margin: 0;
    max-height: 230px;
    overflow-y: auto;
  }

  .logistics-info-list li {
    display: flex;
    margin-bottom: 10px;
  }

  .logistics-info-list-time {
    font-size: 12px;
    color: #999;
    width: 80px;
    text-align: right;
    margin-right: 10px;
  }

  .logistics-info-list-content {
    font-size: 14px;
    color: #333;
  }
</style>